table of contents
SSSD-KRB5(5) | Filformat och konventioner | SSSD-KRB5(5) |
NAME¶
sssd-krb5 - SSSD:s Kerberos-leverantör
BESKRIVNING¶
Denna manualsida beskriver konfigurationen av bakänden för Kerberos 5-autentisering för sssd(8). För en detaljerad syntaxreferens, se avsnittet “FILFORMAT” i manualsidan sssd.conf(5).
Kerberos 5-autentiseringsbakänden innehåller auth- och chpass-leverantörer. Den måste paras ihop med en identitetsleverantör för att fungera korrekt (till exempel, id_provider = ldap). En del information krävs av Kerberos 5-autentiseringsbakänden måste tillhandahållas av identitetsleverantören, såsom användarens Kerberos huvudmannanamn (UPN). Konfigurationen av identitetsleverantören skall ha en post för att ange UPN:en. Se manualsidan för den tillämpliga identitetsleverantören för detaljer om hur man konfigurerar detta.
Denna bakände tillhandahåller även åtkomstkontroll baserad på filen .k5login i användarens hemkatalog Se k5login(5) för mer detaljer. Observera att en tom .k5login-fil kommer neka all åtkomst till denna användare. För att aktivera denna funktion, använd ”access_provider = krb5” i din SSSD-konfiguration.
I situationer där UPN:en inte är tillgänglig i identitetsbakänden kommer sssd konstruera en UPN genom att använda formatet username@krb5_realm.
KONFIGURATIONSALTERNATIV¶
Om autentiseringsmodulen krb5 används i en SSSD-domän måste följande alternativ användas. Se manualsidan sssd.conf(5), avsnittet “DOMÄNSEKTIONER” för detaljer om konfigurationen av en SSSD-domän.
krb5_server, krb5_backup_server (sträng)
När tjänsteupptäckt används för KDC eller kpasswd-servrar söker SSSD först efter DNS-poster som anger _udp som protokoll och provar sedan _tcp om inget hittas.
Detta alternativ hade namnet “krb5_kdcip” i tidigare utgåvor av SSSD. Medan det äldre namnet känns igen tills vidare rekommenderas användare att migrera sina konfigurationsfiler till att använda “krb5_server” istället.
krb5_realm (sträng)
krb5_kpasswd, krb5_backup_kpasswd (sträng)
För mer information om reserver och serverredundans se avsnittet “RESERVER”. OBSERVERA: även om det inte finns några fler kpasswd-servrar att försöka med byter inte bakänden till att köra frånkopplat om autentisering mot KDC:n fortfarande är möjligt.
Standard: använd KDC:n
krb5_ccachedir (sträng)
Standard: /tmp
krb5_ccname_template (sträng)
%u
%U
%p
%r
%h
%d
%P
%%
Om mallen slutar med ”XXXXXX” används mkstemp(3) för att skapa ett unikt filnamn på ett säkert sätt.
När KEYRING-typer används är den enda mekanismen som stödjs “KEYRING:persistent:%U”, vilket använder Linuxkärnans nyckelring för att lagra kreditiv på per-AID-bas. Detta är också det rekommenderade valet, eftersom det är den säkraste och mest förutsägbara metoden.
Standardvärdet för namnet på kreditiv-cachen läses från profilen som fil sparad i den systemtäckande konfigurationsfilen krb5.conf i avsnittet [libdefaults]. Alternativnamnet är default_ccache_name. Se krb5.conf(5)s avsnitt PARAMETEREXPANSION för mer information om expansionsformatet som definieras av krb5.conf.
OBSERVERA: var medveten om att ccache-expansionsmallen för libkrb5 från krb5.conf(5) använder andra expansionssekvenser än SSSD.
Standard: (från libkrb5)
krb5_keytab (sträng)
Standard: Systemets keytab, normalt /etc/krb5.keytab
krb5_store_password_if_offline (boolean)
OBS: denna funktion är endast tillgänglig på Linux. Lösenord som lagras på detta sätt hålls i klartext i kärnans nyckelring och är potentiellt åtkomliga för root-användaren (med svårighet).
Standard: false
krb5_use_fast (sträng)
never använd aldrig FAST. Detta är ekvivalent med att inte ställa in detta alternativ alls.
try försök använda FAST. Om servern inte stödjer FAST, fortsätt då autentiseringen utan den.
demand kräv användning av FAST. Autentiseringen misslyckas om servern inte begär fast.
Standard: inte satt, d.v.s. FAST används inte.
OBSERVERA: en keytab eller stöd för anonym PKINIT krävs för att använda FAST.
OBSERVERA: SSSD stödjer endast FAST med MIT Kerberos version 1.8 och senare. Om SSSD används med en äldre version av MIT Kerberos är det ett konfigurationsfel att använda detta alternativ.
krb5_fast_principal (sträng)
krb5_fast_use_anonymous_pkinit (boolean)
Standard: false
krb5_use_kdcinfo (boolean)
Se manualsidan sssd_krb5_locator_plugin(8) för mer information om lokaliseringsinsticksmodulen.
Standard: true
krb5_kdcinfo_lookahead (sträng)
Alternativet krb5_kdcinfo_lookahead innehåller två tal separerade av ett kolon. Det första talet representerar antalet primärservrar som används och det andra talet anger antalet reservservrar.
Till exempel betyder 10:0 att upp till 10 primärservrar kommer lämnas till sssd_krb5_locator_plugin(8) men inga reservservrar.
Standard: 3:1
krb5_use_enterprise_principal (boolean)
Standard: false (AD-leverantör: true)
IPA-leverantören kommer sätta detta alternativ till ”true” om den upptäcker att servern klarar av att hantera företagshuvudmän och alternativet inte är uttryckligen satt i konfigurationsfilen.
krb5_use_subdomain_realm (boolean)
Standard: false
krb5_map_user (sträng)
exempel:
krb5_realm = RIKE krb5_map_user = maria:manvnd,hasse:hans
“maria” och “hasse” är UNIX-användarnamn och “manvnd” och “hans” är primärer i kerberoshuvudmän. För användaren “maria” resp. “hasse” kommer SSSD försöka att göra kinit som “manvnd@RIKE” resp. “hans@RIKE”.
Standard: inte satt
krb5_auth_timeout (heltal)
Standard: 6
krb5_validate (boolean)
Standard: false (IPA- och AD-leverantör: true)
Observera att biljettvalideringen är första steget vid kontroll av PAC:n (se ”pac_check” i manualsidan sssd.conf(5) för detaljer). Om biljettvalideringen är avaktiverad kommer PAC-kontrollerna också att hoppas över.
krb5_renewable_lifetime (sträng)
s för sekunder
m för minuter
h för timmar
d för dagar.
Om ingen enhet anges antas s.
OBSERVERA: det är inte möjligt att blanda enheter. För att sätta den förnybara livslängden till en och en halv timma, använd ”90m” istället för ”1h30m”.
Standard: inte satt, d.v.s. TGT:en är inte förnybar
krb5_lifetime (sträng)
s för sekunder
m för minuter
h för timmar
d för dagar.
Om ingen enhet anges antas s.
OBSERVERA: det är inte möjligt att blanda enheter. För att sätta livslängden till en och en halv timma, använd ”90m” istället för ”1h30m”.
Standard: inte satt, d.v.s. biljettens standardlivslängd konfigurerad på KDC:n.
krb5_renew_interval (sträng)
s för sekunder
m för minuter
h för timmar
d för dagar.
Om ingen enhet anges antas s.
OBSERVERA: det är inte möjligt att blanda enheter. För att sätta den förnybara livslängden till en och en halv timma, använd ”90m” istället för ”1h30m”.
Om detta alternativ inte är satt eller är 0 är den automatiska förnyelsen avaktiverad.
Standard: inte satt
krb5_canonicalize (boolean)
Standard: false
RESERVER¶
Reservfunktionen gör att bakändar automatiskt kan byta till en annan server om den nuvarande servern slutar fungera.
Reservsyntax¶
Listan av servrar ges som en kommaseparerad lista; godtyckligt antal mellanslag tillåts runt kommatecknet. Servrarna listas i preferensordning. Listan kan innehålla obegränsat antal servrar.
För varje reservaktiverat konfigurationsalternativ finns det två varianter: primary och backup. Tanken är att servrar i den primära listan föredras och backup-servrar bara provas om inga primära servrar kan nås. Om en backup-server väljs sätts en tidsgräns på 31 sekunder. Efter denna tidsgräns kommer SSSD periodiskt att försöka återansluta till en av de primära servrarna. Om det lyckas kommer den ersätta den nu aktiva (backup-)servern.
Reservmekanismen¶
Reservmekanismen gör skillnad mellan en maskin och en tjänst. Bakänden försöker först att slå upp värdnamnet för en given maskin; om denna uppslagning misslyckas antas maskinen vara bortkopplad. Inga ytterligare försök görs att ansluta till denna maskin för någon annan tjänst. Om uppslagningsförsöket lyckas försöker bakänden ansluta till en tjänst på denna maskin. Om tjänsteanslutningen misslyckas anses bara just denna tjänst frånkopplad och bakänden byter automatiskt till nästa tjänst. Maskinen betraktas fortfarande som uppkopplad och kan användas vid försök att nå en annan tjänst.
Ytterligare försök att ansluta görs till maskiner eller tjänster som markerats som frånkopplade efter en viss tidsperiod, detta är för närvarande hårdkodat till 30 sekunder.
Om det inte finns några fler maskiner att prova byter bakänden i sin helhet till frånkopplat läge, och försöker sedan återansluta var 30:e sekund.
Tidsgränser och trimning av reservfunktioner¶
Att slå upp en server att ansluta till kan vara så enkelt som att göra en enstaka DNS-fråga eller kan innebära flera steg, såsom att hitta den rätta sajten eller försöka med flera värdnamn ifall några av de konfigurerade servrarna inte kan nås. De mer komplexa scenariona kan ta en stund och SSSD behöver balansera mellan att tillhandahålla tillräckligt med tid för att färdigställa upplösningsprocessen men å andra sidan inte försöka för länge före den faller tillbaka på frånkopplat läge. Om SSSD:s felsökningsloggar visar att serverns upplösning överskrider tidsgränsen före en aktiv server nås kan du överväga att ändra tidsgränserna.
Detta avsnitt listar tillgängliga trimningsvariabler. Se deras beskrivning i manualsidan sssd.conf(5).
dns_resolver_server_timeout
Standard: 1000
dns_resolver_op_timeout
Standard: 3
dns_resolver_timeout
Standard: 6
För LDAP-baserade leverantörer utförs uppslagningsoperationen som en del av LDAP-anslutningsoperationen. Därför skall även tidsgränsen “ldap_opt_timeout” sättas till ett större värde än “dns_resolver_timeout” som i sin tur skall sättas till ett större värde än “dns_resolver_op_timeout” som skall vara större än “dns_resolver_server_timeout”.
TJÄNSTEUPPTÄCKT¶
Tjänsteupptäcktsfunktionen gör att bakändar automatiskt kan hitta en lämplig server att ansluta till med en speciell DNS-fråga. Denna funktion stödjs inte för backup-servrar.
Konfiguration¶
Om inga servrar anges använder bakänden automatiskt tjänsteupptäckt för att försöka hitta en server. Användaren kan om så önskas välja att använda både en bestämd serveradress och tjänsteupptäckt genom att infoga ett speciellt nyckelord, “_srv_”, i listan av servrar. Preferensordningen bibehålls. Denna funktion är användbar om, till exempel, användaren föredrar att använda tjänsteupptäckt närhelst det är möjligt, och falla tillbaka på en specifik server när inga servrar kan upptäckas med DNS.
Domännamnet¶
Se parametern “dns_discovery_domain” i manualsidan sssd.conf(5) för fler detaljer.
Protokollet¶
Frågorna anger vanligen _tcp som protokoll. Undantag är dokumenterade i respektive alternativs beskrivning.
Se även¶
För mer information om tjänsteupptäcktsmekanismen, se RFC 2782.
EXEMPEL¶
Följande exempel antar att SSSD är korrekt konfigurerad och att APA är en av domänerna i avsnittet [sssd]. Detta exempel visar endast konfigurationen av Kerberosautentisering; det inkluderar inte någon identitetsleverantör.
[domain/APA] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM
SE ÄVEN¶
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5) sssd-systemtap(5)
AUTHORS¶
SSSD uppströms – https://github.com/SSSD/sssd/
05/24/2024 | SSSD |